上傳圖片跟 Markdown 一樣也是沒看過別人怎麼寫,就猜不到怎麼做的東東
https://core.telegram.org/bots/api#sendphoto
這邊可以看到很多參數昨天都有出現過,但是少了 text
多了 caption
,其實 caption 就是跟圖片一起發送的 text 啦,而且這個是可以不填的
https://core.telegram.org/bots/api#sending-files
Telegram Bot API 提供了三種傳送檔案的方式
那就從最難的開始吧
首先開啟程式來到 apiRequestJson()
的地方
先把 json_encode()
刪除,這個其實有點多餘,不需要這個也能運作,加了反而會在需要傳送檔案時出錯
還有把 application/json
改成 multipart/form-data
,用 JSON 的話 TG 伺服器會不接受檔案
完成後像這個樣子:
接著把 Long Polling 用的那段程式註解,在最底下加上這坨程式,這次不能偷懶 response
也要記得打
檔案路徑的話你就自己找張圖片填,curl_file_create()
是一個特殊的檔案讀取函式,上傳檔案一定要經過他
接著按下執行,成功的話就會看到機器人發給你一張圖片
還有終端機的一大坨訊息
這個 file_id 很重要,會考
來用 file_id 發送圖片,只有這個方式不會限制圖片的大小,因為檔案本來就在伺服器上
把剛剛的 file_id 複製過來貼到 photo 的欄位
按下執行程式
成功發送圖片!
這個方法比較麻煩的點就是要先用機器人取得 file_id
這個最容易了,只要有連結就能發送圖片
把圖片的連結貼到 photo 的欄位
按下執行程式
又成功傳送了一張圖片
就是這麼簡單
https://core.telegram.org/bots/api#sendchataction
如果你的程式會跑比較久,像是跑去撈圖片、製作圖片,那就會需要這個 API Method
實際使用會像這樣
剩下還有其他什麼 sendAudio
sendVideo
...等,都是差不多的東西,我相信已經不需要我示範,你就能看懂要填什麼東西進去了,所以剩下的就交給你自己試試啦